using MediatR;
using UniversalAdmin.Domain.Entities.App;
using UniversalAdmin.Domain.Common;

namespace UniversalAdmin.Domain.DomainEvents;

public class PermissionCreatedEvent : IDomainEvent, INotification
{
    public AppPermission Permission { get; }
    public DateTime OccurredOn { get; }
    public PermissionCreatedEvent(AppPermission permission)
    {
        Permission = permission;
        OccurredOn = DateTime.UtcNow;
    }
}
public class PermissionUpdatedEvent : IDomainEvent, INotification
{
    public AppPermission Permission { get; }
    public DateTime OccurredOn { get; }
    public PermissionUpdatedEvent(AppPermission permission)
    {
        Permission = permission;
        OccurredOn = DateTime.UtcNow;
    }
}
public class PermissionDeletedEvent : IDomainEvent, INotification
{
    public AppPermission Permission { get; }
    public DateTime OccurredOn { get; }
    public PermissionDeletedEvent(AppPermission permission)
    {
        Permission = permission;
        OccurredOn = DateTime.UtcNow;
    }
} 